//
//  GEEBaseViewController.h
//  KX11UI
//
//  Created by LJQ on 2021/2/19.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN
//@class GEE_pushModel;
typedef void (^BarBtnBlock)(void);

@interface BaseViewController_HYC : UIViewController

//返回按钮
@property (nonatomic,strong)UIImageView *H_leftBackImage;




/// 返回按钮点击事件
- (void)H_leftBtnClick;

/// 禁用和打开返回手势
- (void)H_popGestureClose;
- (void)H_popGestureOpen;
/** 用法如下
 - (void)viewDidAppear:(BOOL)animated
 {
     [super viewDidAppear:animated];
     [GEEBaseViewController popGestureClose:self];
 }

 - (void)viewWillDisappear:(BOOL)animated
 {
     [super viewWillDisappear:animated];
     [GEEBaseViewController popGestureOpen:self];
 }
 */





/// POP到指定页面
/// @param vc vc description
-(void)H_popTo:(UIViewController *)vc;

/// 返回
-(void)H_pop;

/// 跳转
/// @param vc vc description
-(void)H_push:(UIViewController *)vc;

/// 跳转是否隐藏Tabbar
/// @param vc vc description
/// @param hidden hidden description
-(void)H_push:(UIViewController *)vc isBottomHidden:(BOOL)hidden;


/// rightBarBtns
/// @param first first description
/// @param firstBlock firstBlock description
/// @param second second description
/// @param secondBlock secondBlock description
-(NSArray<UIBarButtonItem *> *)H_setRightItems:(NSString *)first firstBlock:(BarBtnBlock)firstBlock second:(NSString *)second second:(BarBtnBlock)secondBlock;

/// navigationBar rightItem
/// @param itemView 按钮
/// @param idBlock idBlock description
-(void)H_setRightView:(UIView *)itemView idBlock:(BarBtnBlock)idBlock;

/// navigationBar leftItem
/// @param itemView 左侧标题
-(void)H_setLeftView:(UIView *)itemView;


/// navigationBar rightItem
/// @param itemView 点击label
/// @param editStr 编辑文字
/// @param finishStr 完成文字
/// @param idBlock idBlock description
-(void)H_setRightView:(UILabel *)itemView editStr:(NSString *)editStr finishStr:(NSString *)finishStr  idBlock:(void(^)(bool select))idBlock;



/// 添加nav上的按钮右侧
/// @param views 按钮view
/// @param block 点击回调
-(NSArray<UIBarButtonItem *> *)H_setRightViews:(NSArray <UIView *>*)views touchBlock:(nullable void(^)(UIView *buttonItem ,NSInteger index))block;











@end

NS_ASSUME_NONNULL_END
